package trastienda.modelo;

import java.io.Serializable;
import javax.persistence.*;

import java.util.Set;


/**
 * The persistent class for the usuario database table.
 * 
 */
@NamedQueries({@NamedQuery(name = "Usuario.seleccionarTodos", query = "SELECT u FROM Usuario u")})

@Entity
public class Usuario implements Serializable {
	private static final long serialVersionUID = 1L;

	@Id
	@Column(name="id_usuario")
	private String idUsuario;

	private String clave;

	private String correo;

	private String direccion;

	public Usuario(String idUsuario, String clave, String nombres, String materno
			,String paterno,String telefono,  String correo,String direccion, String estado) {
		super();
		this.idUsuario = idUsuario;
		this.clave = clave;
		this.correo = correo;
		this.direccion = direccion;
		this.estado = estado;
		this.materno = materno;
		this.nombres = nombres;
		this.paterno = paterno;
		this.telefono = telefono;
	}

	private String estado;

	private String materno;

	private String nombres;

	private String paterno;

	private String telefono;

	//bi-directional many-to-one association to Pedido
	@OneToMany(mappedBy="usuario")
	private Set<Pedido> pedidos;

	//bi-directional many-to-many association to Rol
    @ManyToMany
	@JoinTable(
		name="usuario_rol"
		, joinColumns={
			@JoinColumn(name="id_usuario")
			}
		, inverseJoinColumns={
			@JoinColumn(name="rol_nombre")
			}
		)
	private Set<Rol> rols;

    public Usuario() {
    }

	public String getIdUsuario() {
		return this.idUsuario;
	}

	public void setIdUsuario(String idUsuario) {
		this.idUsuario = idUsuario;
	}

	public String getClave() {
		return this.clave;
	}

	public void setClave(String clave) {
		this.clave = clave;
	}

	public String getCorreo() {
		return this.correo;
	}

	public void setCorreo(String correo) {
		this.correo = correo;
	}

	public String getDireccion() {
		return this.direccion;
	}

	public void setDireccion(String direccion) {
		this.direccion = direccion;
	}

	public String getEstado() {
		return this.estado;
	}

	public void setEstado(String estado) {
		this.estado = estado;
	}

	public String getMaterno() {
		return this.materno;
	}

	public void setMaterno(String materno) {
		this.materno = materno;
	}

	public String getNombres() {
		return this.nombres;
	}

	public void setNombres(String nombres) {
		this.nombres = nombres;
	}

	public String getPaterno() {
		return this.paterno;
	}

	public void setPaterno(String paterno) {
		this.paterno = paterno;
	}

	public String getTelefono() {
		return this.telefono;
	}

	public void setTelefono(String telefono) {
		this.telefono = telefono;
	}

	public Set<Pedido> getPedidos() {
		return this.pedidos;
	}

	public void setPedidos(Set<Pedido> pedidos) {
		this.pedidos = pedidos;
	}
	
	public Set<Rol> getRols() {
		return this.rols;
	}

	public void setRols(Set<Rol> rols) {
		this.rols = rols;
	}
	
}